package main

import "fmt"

type myFunc func(int, int) int // 自定义函数类型

func add(x, y int) int {
	return x + y
}

func plus(x, y int, sum myFunc) int { //函数传参
	return sum(x, y)
}

func main() {
	var f myFunc
	f = add // add函数参数个数及类型必须和自定义的保持一致
	fmt.Println(f(1, 2))

	fmt.Println(plus(3, 4, add))
	//使用匿名函数
	fmt.Println(plus(5, 6, func(i int, i2 int) int {
		return i * i2
	}))
}
